<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>affineHull</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">affineHull</h1>
<h2>Purpose</h2>
<p>Computes affine hull of a convex set.</p>
<h2>Syntax</h2>
<pre class="synopsis">He = affineHull(Set)</pre>
<pre class="synopsis">He = Set.affineHull</pre>
<h2>Description</h2>
<p></p>
        Compute an implicitly-defined affine hull of the convex <tt>Set</tt>.
        The output is a real matrix <tt>He</tt> that defines the affine set
        <p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/affinehull1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/affinehull1.png"></p>
        If <tt>He</tt> is empty, then the affine hull is empty.
        The affine hull function for general convex sets will only
        function for bounded sets. If you want the affine hull of an
        unbounded set, then intersect your set with a large
        full-dimensional box.
	<h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>Set</tt></td>
<td>
<p></p>Any object derived from the <tt>ConvexSet</tt> class, e.g. <tt>Polyhedron</tt>, <tt>YSet</tt>, ...<p>
	    		Class: <tt>ConvexSet</tt></p>
</td>
</tr></tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>H</tt></td>
<td>
<p></p>The real matrix that defines the affine hull.<p>
	    		Class: <tt>double</tt></p>
</td>
</tr></tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3> Construct a set by intersecting a circle, linear equality and inequality constraints using YALMIP.  Define variable first<pre class="programlisting"> x = sdpvar(2,1); </pre>
<pre class="programlisting"></pre> Define a set <tt>S</tt> using <tt>YSet</tt> class  <pre class="programlisting"> opts = sdpsettings('solver','sedumi','verbose',0); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S = YSet(x, [norm(x)&lt;=1; x(1)-x(2)==0.2; [1 -0.5; 0.3, 0.8]*x&lt;=[0.5;0.6]], opts); </pre>
<pre class="programlisting"></pre> We can plot the set<pre class="programlisting"> S.plot </pre>
<pre class="programlisting">Plotting...
34 of 40
</pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/affinehull_img_1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@ConvexSet/affinehull_img_1.png" width="60%"></p> Compute the affine hull <pre class="programlisting"> S.affineHull </pre>
<pre class="programlisting">
ans =

         -0.70710678116385         0.707106781209245        -0.141421356213361

</pre>
<h2>See Also</h2>innerapprox, <a href="./outerapprox.html">outerapprox</a>, <a href="./isemptyset.html">isemptyset</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="getfunction.html" class="button">&#9664;</a>  </td>
<td align="left">getfunction</td>
<td>  </td>
<td align="right">copy</td>
<td align="right" width="20"><a href="copy.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Colin Neil Jones: EPF Lausanne,    <a href="mailto:colin.jones@epfl.ch">colin.jones@epfl.ch</a></p>
<p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
</body>
</html>
